public class ModifierEntity
{
    /// <summary>
    /// 增加buff最大层数
    /// </summary>
    /// <param name="attr_num"> 整数属性值 </param>
    /// <returns></returns>
    public extern void api_add_buff_max_layer(int? attr_num);

    /// <summary>
    /// 增加buff实例层数
    /// </summary>
    /// <param name="plus_layer"> 整数属性值 </param>
    /// <returns></returns>
    public extern void api_add_buff_layer(int? plus_layer);

    /// <summary>
    /// 增加buff的剩余持续时间
    /// </summary>
    /// <param name="residue_time"> 浮点数剩余时间 </param>
    /// <returns></returns>
    public extern void api_add_buff_residue_time(Fix32 residue_time);

    /// <summary>
    /// 增加buff浮点属性效果
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <param name="attr_num"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_add_float_shield(string attr_name,Fix32 attr_num);

    /// <summary>
    /// 增加循环周期事件的循环时间
    /// </summary>
    /// <param name="add_cycle_time"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_add_cycle_time(Fix32 add_cycle_time);

    /// <summary>
    /// 阻止即将获得的魔法效果
    /// </summary>
    /// <returns>返回值</returns>
    public extern bool? api_prevent_will_modifier();

    /// <summary>
    /// 删除魔法效果
    /// </summary>
    /// <returns>返回值</returns>
    public extern bool? api_remove();

    /// <summary>
    /// 增加魔法效果光环影响范围
    /// </summary>
    /// <param name="add_value"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_add_modifier_halo_influence_rng(Fix32 add_value);

    /// <summary>
    /// 获取效果携带者
    /// </summary>
    /// <returns>效果携带者</returns>
    public extern Unit api_get_owner();

    /// <summary>
    /// 获取效果释放者
    /// </summary>
    /// <returns>效果释放者</returns>
    public extern Unit api_get_releaser();

    /// <summary>
    /// 获取剩余持续时间
    /// </summary>
    /// <returns>剩余持续时间</returns>
    public extern Fix32 api_get_residue_time();

    /// <summary>
    /// 获取已经持续时间
    /// </summary>
    /// <returns>已经持续时间</returns>
    public extern Fix32 api_get_passed_time();

    /// <summary>
    /// 获取buff关联技能id
    /// </summary>
    /// <returns>最大堆叠层数</returns>
    public extern int? api_get_from_ability_id();

    /// <summary>
    /// 获取buff最大堆叠层数
    /// </summary>
    /// <returns>最大堆叠层数</returns>
    public extern int? api_get_layer_max();

    /// <summary>
    /// 获取buff类别
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <returns>魔法效果类别</returns>
    public extern int? api_get_modifier_type(string attr_name);

    /// <summary>
    /// 获取buff影响类型
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <returns>魔法效果影响类别</returns>
    public extern int? api_get_modifier_effect_type(string attr_name);

    /// <summary>
    /// 获取buff浮点属性效果
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <returns>浮点数返回类型</returns>
    public extern Fix32 api_get_float_attr(string attr_name);

    /// <summary>
    /// 获取buff循环周期
    /// </summary>
    /// <returns>浮点数返回类型</returns>
    public extern Fix32 api_get_cycle_time();

    /// <summary>
    /// 获取光环魔法效果的子光环类型
    /// </summary>
    /// <returns>魔法效果编号</returns>
    public extern int? api_get_sub_halo_modifier_key();

    /// <summary>
    /// 获取子光环的光环实体
    /// </summary>
    /// <returns>魔法效果对象</returns>
    public extern ModifierEntity api_get_halo_modifier_instance();

    /// <summary>
    /// 获取光环的范围
    /// </summary>
    /// <returns>光环影响范围</returns>
    public extern double? api_get_halo_inf_rng();

    /// <summary>
    /// 获取即将获得魔法效果的单位
    /// </summary>
    /// <returns>单位</returns>
    public extern Unit api_get_will_modifier_unit();

    /// <summary>
    /// 获取即将获得魔法效果类型
    /// </summary>
    /// <returns>魔法效果编号</returns>
    public extern int? api_get_will_modifier_key();

    /// <summary>
    /// 获取buff的唯一id
    /// </summary>
    /// <returns>魔法效果唯一ID</returns>
    public extern int? api_get_modifier_unique_id();

    /// <summary>
    /// 获取buff的类型key
    /// </summary>
    /// <returns>魔法效果key</returns>
    public extern int? api_get_modifier_key();

    /// <summary>
    /// 获取buff整数属性效果
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <returns>整数类型返回值</returns>
    public extern int? api_get_int_attr(string attr_name);

    /// <summary>
    /// 获取buff字符属性效果
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <returns>字符类型返回值</returns>
    public extern string api_get_str_attr(string attr_name);

    /// <summary>
    /// 获取buff图标是否可见
    /// </summary>
    /// <returns>布尔值</returns>
    public extern bool? api_get_icon_is_visible();

    /// <summary>
    /// 获取魔法效果等级
    /// </summary>
    /// <returns>等级</returns>
    public extern int? api_get_modifier_level();

    /// <summary>
    /// 获取魔法效果的堆叠层数
    /// </summary>
    /// <returns>堆叠层数</returns>
    public extern int? api_get_modifier_layer();

    /// <summary>
    /// 设置buff整数属性效果
    /// </summary>
    /// <param name="attr_num"> 整数属性值 </param>
    /// <returns></returns>
    public extern void api_set_buff_max_layer(int? attr_num);

    /// <summary>
    /// 设置buff实例层数
    /// </summary>
    /// <param name="attr_num"> 整数属性值 </param>
    /// <returns></returns>
    public extern void api_set_buff_layer(int? attr_num);

    /// <summary>
    /// 设置buff的剩余持续时间
    /// </summary>
    /// <param name="residue_time"> 浮点数剩余时间 </param>
    /// <returns></returns>
    public extern void api_set_buff_residue_time(Fix32 residue_time);

    /// <summary>
    /// 设置buff浮点属性效果
    /// </summary>
    /// <param name="attr_name"> 属性名称 </param>
    /// <param name="attr_num"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_set_float_shield(string attr_name,Fix32 attr_num);

    /// <summary>
    /// 设置循环周期事件
    /// </summary>
    /// <param name="new_cycle_time"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_set_cycle_time(Fix32 new_cycle_time);

    /// <summary>
    /// 设置魔法效果的持续时间
    /// </summary>
    /// <param name="residue_time"> 非负数实数值 </param>
    /// <returns></returns>
    public extern void api_set_duration(Fix32 residue_time);

    /// <summary>
    /// 设置buff的字符串属性
    /// </summary>
    /// <param name="name"> 属性名称 </param>
    /// <param name="value"> 属性值 </param>
    /// <returns></returns>
    public extern void api_set_buff_str_attr(string name,string value);

    /// <summary>
    /// 对魔法效果所属单位的所属玩家关系播放音乐
    /// </summary>
    /// <param name="camp_target"> 玩家关系 </param>
    /// <param name="sid"> 乐曲编号 </param>
    /// <param name="loop"> 是否循环 </param>
    /// <returns></returns>
    public extern void api_play_sound_by_mod_for_role_relation(int? camp_target,int? sid,bool? loop);

    /// <summary>
    /// 设置魔法效果光环影响范围
    /// </summary>
    /// <param name="value"> 浮点数属性值 </param>
    /// <returns></returns>
    public extern void api_set_modifier_halo_influence_rng(Fix32 value);

    /// <summary>
    /// 设置魔法效果的图标
    /// </summary>
    /// <param name="icon"> 图标 </param>
    /// <returns></returns>
    public extern void api_set_modifier_icon(int? icon);

}
